﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IM.Easy.Core.Route
{
    public class RoutePrefix
    {
        /// <summary>
        /// 默认为api
        /// </summary>
        public static string Prefix { get; set; } = "api";

        /// <summary>
        /// 添加 "/api" 前缀到路由模板。
        /// </summary>
        /// <param name="routeTemplate">原始路由模板</param>
        /// <returns>带 "/api" 前缀的路由模板</returns>
        public static string AddApiPrefix(string routeTemplate)
        {
            // 移除多余的斜杠，确保路由格式统一
            routeTemplate = routeTemplate.Trim('/');

            // 添加 "/api" 前缀并返回
            return $"api/{routeTemplate}";
        }

        public static string RemoveHttpPrefix(string actionName)
        {
            if (actionName.StartsWith("Get"))
                return actionName[3..];
            if (actionName.StartsWith("Post"))
                return actionName[4..];
            if (actionName.StartsWith("Add"))
                return actionName[3..];
            if (actionName.StartsWith("Create"))
                return actionName[6..];
            if (actionName.StartsWith("Put"))
                return actionName[3..];
            if (actionName.StartsWith("Update"))
                return actionName[6..];
            if (actionName.StartsWith("Delete"))
                return actionName[6..];

            return actionName; // 如果没有匹配的前缀，则返回原始名称
        }
    }
}
